#include "avl.h"
#include <iostream>
#include <functional>

using std::cout;
using std::endl;

void test1()
{
    using Func = std::function<bool(const int &, const int &)>;
    Func fun = [](const int &lhs, const int &rhs) -> bool {
        return lhs < rhs; 
    };

    AVLTree<int, Func> tree(fun);
    int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
    for(int i{}; i < 10; i++){
        tree.insert(arr[i]);
    }
    
    // tree.insert(40);
    // tree.insert(30);
    // tree.insert(50);
    // tree.insert(35);
    // tree.insert(32);
    // tree.insert(32);
    
    tree.erase(9);
    tree.erase(10);

    int i = 0;

}

int main(int args, char *argv[])
{
    test1();
    return 0;
}